RStudioなどの統合開発環境(IDE)を使うことが多い昨今ですが、IDEでも対話モードのウィンドウが開いていたりするので、知っておくほうが便利でしょう。
1 履歴
打ち込んだコマンドの履歴を見ることができます。
OSの環境変数R_HISTSIZE
で記憶する行数を設定できます。また、
と言うように正規表現で絞り込みができます。
1.1 履歴の保存
デフォルトでは、終了時に履歴を自動保存し、起動時に読み込みます。Rの起動オプションに--no-save
をつけておくと、終了時に履歴は保存されません。また--no-restore
をつけておくと、起動時に読み込みなせん。
起動オプションに関わらず、savehistory("filename.txt")
で履歴を保存し、loadhistory("filename.txt")
読み込むことができます。savehistory
はテキストファイルで保存されるので、無計画に打ち込んだコマンドを保存して整理するのにも使えます。
2 ソースコードの読み込み
テキストファイルに書いたソースコードを読み込んで実行できます。
UTF-8に統一されつつある昨今ですが、引数fileEncoding
で文字コードを指定して読み込むこともできます。
echo=TRUE
をつけると、実行前にコードを表示し、画面出力の抑制をしません。
引数chdir
で実行するディレクトリを指定できます。また、local=TRUE
をつけると、環境を分離してワークスペースにオブジェクトを追加しないようにできます。
3 テキストエディタの呼び出し
対話モードでテキストエディタを呼び出すことができます。環境変数EDITOR
や引数で指定しない場合、エディタはOSの標準エディタが呼ばれます。
4 オブジェクトの保存と読み込み
Rのあらゆる変数は同様に保存と読み込みができます。つまり、ベクトル、行列、配列、リスト、データフレーム、環境、関数、モデル式といったオブジェクトは、saveRDS
で保存して、readRDS
で読み込むことができます。
fnc1 <- function(a, b) (a + 1)*(b - 1) # 関数を定義
saveRDS(fnc1, "fnc.RDS") # 関数を保存
rm(fnc1) # 関数を消す
fnc2 <- readRDS("fnc.RDS") # 関数を読み込む
fnc2(2, 3) # 関数を使う
[1] 6
他のプログラミング言語でも似たようなことはできるのですが、パッケージなしで同じぐらい広範なオブジェクトを同じぐらい容易にできるものはちょっと思い当たりません。
5 ワークスペースの保存と読み込み
現在のワークスペースのすべてのオブジェクトを保存したい場合はsave.image
を用いることができます。読み込むときはload
を使います。
n <- 100
x <- 1:n
z <- runif(n, min = 1, max = 100)
y <- 1 + x - z + rnorm(n, sd = 10)
save.image(file = "example.RData")
ls() # 作成したオブジェクトを確認
[1] "n" "x" "y" "z"
character(0)
ls()
をすると、消したオブジェクトn
,x
,z
,y
が復活しているのが分かります。
なお、quit(save = "yes")
とすると、自動でsave.image
が呼び出されます。